Link to this headingBotting

https://github.com/Skyvern-AI/skyvern AI automation
https://github.com/mherrmann/helium simple automation

Link to this headingSelenium

Link to this headingExample

Selenium Autoing:

from selenium import webdriver from selenium.webdriver.common.by import By # Initialize chrome webdriver driver = webdriver.Chrome() # Load page driver.get("https://example.com") # Wait for title to load from dynamic JS execution driver.implicitly_wait(10) # Selenium can extract dynamically loaded elements print(driver.title) # Selenium allows clicking buttons triggering JS events driver.find_element(By.ID, "dynamicBtn").click() # Inputs can be handled as well search = driver.find_element(By.NAME, 'search') search.send_keys('Automate using Selenium') search.submit() # Teardown browser after done driver.quit()

Link to this headingJS Automation

https://github.com/pyppeteer/pyppeteer

Link to this headingIP Rotating

https://github.com/PortSwigger/ip-rotate

Link to this headingCapcha

Bypass Techniques:

  • Omit the Captcha Parameter
  • Send Empty Captcha
  • Reuse a Captcha
    • Try across different sessions
  • Test Ratelimits, IP rotation, Useragent and Header Manipulation

Link to this headingRe-Riding Attack

  • Use single solution to generate mutable operations using the same capcha solution

Link to this headingAuto Solver

Link to this headingImpersonating CAPTCHA Providers

Link to this headingCloudflare Bypass

https://www.zenrows.com/blog/bypass-cloudflare#what-is-cloudflare-bot-management

Bypass Cloudflare:

import undetected_chromedriver as uc import time @staticmethod def _setDriver(proxy=None, headless=False): chrome_options = uc.ChromeOptions() ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0' chrome_options.add_argument(f'--user-agent={ua}') chrome_options.headless = headless chrome_options.add_argument("--no-first-run") chrome_options.add_argument("--no-service-autorun") chrome_options.add_argument("--password-store=basic") chrome_options.add_argument("--lang=en") chrome_options.add_argument("--disable-popup-blocking") chrome_options.add_argument("--disable-infobars") chrome_options.add_experimental_option("prefs",{ "credentials_enable_service": False, "profile.password_manager_enabled": False, "password_manager_enabled": False, }) if proxy: proxy_options = { 'proxy': { 'http': proxy, 'https': proxy, 'no_proxy': 'localhost:127.0.0.1' } } else: proxy_options = None driver = uc.Chrome(options=chrome_options, selenium_options=proxy_options) return driver busstopnum = 20000 URL = f"https://mybusnow.njtransit.com/predictions/bystop/bustime:{busstopnum}" driver = _setDriver(headless=True) driver.get(f'https://mybusnow.njtransit.com/predictions/bystop/bustime:{busstopnum}') driver.execute_script(f"window.open('{URL}', '_blank');") time.sleep(3) driver.switch_to.window(driver.window_handles[1]) driver.save_screenshot('f_njtransit.png') #driver.implicitly_wait(2)